Developer Documentation

QuickTime 4 API Documentation

3D Graphics Programming with QuickDraw 3D 1.5.4

Previous | QD3D Book | Overview | Chapter Contents | Next |

Draw Context Structure

QuickDraw 3D RAVE drawing routines operate on a draw context, which maintains state information and other data associated with a drawing engine. You access a draw context using a draw context structure, defined by the TQADrawContext data type.

You should not directly access the fields of a draw context structure. Instead, you should use the draw context manipulation macros defined by QuickDraw 3D RAVE. See "Manipulating Draw Contexts" for more information.

struct TQADrawContext {
    TQADrawPrivate                      *drawPrivate;
    const TQAVersion                    version;
    TQASetFloat                         setFloat;
    TQASetInt                           setInt;
    TQASetPtr                           setPtr;
    TQAGetFloat                         getFloat;
    TQAGetInt                           getInt;
    TQAGetPtr                           getPtr;
    TQADrawPoint                        drawPoint;
    TQADrawLine                         drawLine;
    TQADrawTriGouraud                   drawTriGouraud;
    TQADrawTriTexture                   drawTriTexture;
    TQADrawVGouraud                     drawVGouraud;
    TQADrawVTexture                     drawVTexture;
    TQADrawBitmap                       drawBitmap;
    TQARenderStart                      renderStart;
    TQARenderEnd                        renderEnd;
    TQARenderAbort                      renderAbort;
    TQAFlush                            flush;
    TQASync                             sync;
    TQASubmitVerticesGouraud            submitVerticesGouraud;
    TQASubmitVerticesTexture            submitVerticesTexture;
    TQADrawTriMeshGouraud               drawTriMeshGouraud;
    TQADrawTriMeshTexture               drawTriMeshTexture;
    TQASetNoticeMethod                  setNoticeMethod;
    TQAGetNoticeMethod                  getNoticeMethod;
};
typedef struct TQADrawContext TQADrawContext;
drawPrivate
A pointer to the private data for the drawing engine associated with this draw context.
version
The version of QuickDraw 3D RAVE. This field is initialized when you call QADrawContextNew . See "Version Values" for the currently defined version numbers.
setFloat
A function pointer to the drawing engine's method for setting floating-point state variables.
setInt
A function pointer to the drawing engine's method for setting unsigned long integer state variables.
setPtr
A function pointer to the drawing engine's method for setting pointer state variables.
getFloat
A function pointer to the drawing engine's method for getting floating-point state variables.
getInt
A function pointer to the drawing engine's method for getting unsigned long integer state variables.
getPtr
A function pointer to the drawing engine's method for getting pointer state variables.
drawPoint
A function pointer to the drawing engine's method for drawing points.
drawLine
A function pointer to the drawing engine's method for drawing lines.
drawTriGouraud
A function pointer to the drawing engine's method for drawing triangles with Gouraud shading.
drawTriTexture
A function pointer to the drawing engine's method for drawing texture-mapped triangles.
drawVGouraud
A function pointer to the drawing engine's method for drawing vertices with Gouraud shading.
drawVTexture
A function pointer to the drawing engine's method for drawing texture-mapped vertices.
drawBitmap
A function pointer to the drawing engine's method for drawing a bitmap.
renderStart
A function pointer to the drawing engine's method for initializing in preparation for rendering.
renderEnd
A function pointer to the drawing engine's method for completing a rendering operation and displaying an image.
renderAbort
A function pointer to the drawing engine's method for canceling the current rendering operation and flushing any queued operations.
flush
A function pointer to the drawing engine's method for starting to render all queued drawing commands.
sync
A function pointer to the drawing engine's method for waiting until all queued drawing commands have been processed.
submitVerticesGouraud
A function pointer to the drawing engine's method for submitting Gouraud vertices.
submitVerticesTexture
A function pointer to the drawing engine's method for submitting texture vertices.
drawTriMeshGouraud
A function pointer to the drawing engine's method for drawing triangle meshes with Gouraud shading.
drawTriMeshTexture
A function pointer to the drawing engine's method for drawing texture-mapped triangle meshes.
setNoticeMethod
A function pointer to the drawing engine's method for setting a notice method.
getNoticeMethod
A function pointer to the drawing engine's method for getting a notice method.

© 1997 Apple Computer, Inc.

Previous | QD3D Book | Overview | Chapter Contents | Next |